home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / TPUG Xtras / Xtras / termprog.d64 / terminal.64 (.txt) < prev    next >
Commodore BASIC  |  2009-02-04  |  4KB  |  129 lines

  1. 50 REM" TERM.64  WRITTEN BY STEVE PUNTER   CONVERTED TO 64 BY KEITH PETERSON
  2. 100 [139][194](22784)[179][177]76[167][147]"TERM.64",8,1
  3. 103 R%[178]5:MO%[178]6:SE$[178]"":ML[178]22784
  4. 106 [151]56,86:[151]644,86:[156]:[159]5,2,0,[199](6)[170][199](0)
  5. 110 RE$[178]" ":SE$[178]" ":MO%[178]134:R%[178]0:C$[178]"0123456789ABCDEF"
  6. 115 RP[178]2:RS[178]0:WP[178]RP:WS[178]RS
  7. 120 [151]24575,RP:[151]24574,RS[170]96:[151]24573,WP:[151]24572,WS[170]96
  8. 125 PA(0)[178]10:PA(1)[178]6:PA(2)[178]2
  9. 130 ML[178]22784:[153][199](14):[151]24569,0
  10. 135 [159]1,8,15:[151]556,0:[151]552,0:[151]553,1
  11. 140 DN$[178]"":[137]150
  12. 145 [161]#5,A$,A$:[158]ML[170]0:[160]11:[151]24569,0:TM[178]0:[137]106
  13. 150 [153]"LOADASCUNCTION:"
  14. 155 [153]"1 - (null)ERMINAL (null)ODE"
  15. 160 [153]"2 - (null)ECEIVE PROGRAM"
  16. 165 [153]"3 - (null)RANSMIT PROGRAM"
  17. 170 [143]   PRINT"4 - (null)PEN STR$ISK ASCILE"
  18. 175 [143]   PRINT"5 - (null)RINT STR$ISK ASCILE"
  19. 185 [153]"4 - (null)UIT"
  20. 190 [161]A$:[139]A$[178]""[167]190
  21. 195 [145][197](A$)[137]145,500,670,765:[143]       205,230,765
  22. 200 [137]190
  23. 205 [160]11:[153]"(null)AME OF STR$ISK ASCILE":[153]"STR$EFAULT IS STR$RIVE 0?
  24. 210 PRINT">";:GOSUB800:IFB$=""THEN150
  25. 215 IFMID$(B$,2,1)<>":"THENB$="1:"+B$
  26. 220 OPEN11,8,11,"@"+B$+",S,W":GOSUB835:IFESTHENPRINTES$:GOTO205
  27. 225 POKE24569,1:GOTO150
  28. 230 PRINT"[206]AME OF [198]ILE?":PRINT">";:GOSUB800:IFB$=""THEN150
  29. 235 CLOSE11:OPEN11,8,11,B$:GOSUB835:IFESTHENPRINTES$:GOTO230
  30. 240 PRINT"[193]SCII OR [195]BM [212]YPE [207]UTPUT?":PRINT">";:POKE555,0
  31. 245 GETA$:IFA$=""THEN245
  32. 250 IFA$=CHR$(13)THEN150
  33. 255 IFA$="A"THENPOKE555,0:GOTO265
  34. 260 IFA$<>"C"THEN245
  35. 265 PRINTCHR$(ASC(A$)OR128)"":SYSML+3:CLOSE11:GOTO150
  36. 390 GOSUB425:A=PEEK(553):A=A+1:IFA=2THENA=0
  37. 395 POKE553,A:GOTO315
  38. 400 GOSUB425:PA=PA+1:IFPA=3THENPA=0
  39. 405 POKE660,(PA(PA)ORDU)*16+1:GOTO315
  40. 410 GOSUB425:DU=DU+1:IFDU=2THENDU=0
  41. 415 POKE660,(PA(PA)ORDU)*16+1:GOTO315
  42. 420 A$=" [146]":GOTO430
  43. 425 A$=" "
  44. 430 PRINT"   ";LEFT$(DN$,PEEK(553));A$
  45. 435 PRINT"   ";LEFT$(DN$,PA);A$
  46. 440 PRINT"   ";LEFT$(DN$,DU);A$:RETURN
  47. 445 A$=" [146]":GOTO455
  48. 450 A$=" "
  49. 455 PRINT"   ";LEFT$(DN$,BR);A$
  50. 460 PRINT"   ";LEFT$(DN$,SB);A$
  51. 465 PRINT"   ";LEFT$(DN$,WL);A$:RETURN
  52. 470 GOSUB450:BR=BR+1:IFBR=3THENBR=0
  53. 475 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6):GOTO370
  54. 480 GOSUB450:SB=SB+1:IFSB=2THENSB=0
  55. 485 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6):GOTO370
  56. 490 GOSUB450:WL=WL+1:IFWL=2THENWL=0
  57. 495 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6):GOTO370
  58. 500 REM RECEIVE A PROGRAM
  59. 505 PRINT"[206]AME OF [198]ILE?"
  60. 510 PRINT"[196]EFAULT DRIVE IS #0":PRINT">";:GOSUB800:S$=B$
  61. 515 IFS$=""THENPRINT#5,"A";:GOTO145
  62. 520 IFMID$(S$,2,1)<>":"THENS$="0:"+S$
  63. 525 GOSUB625:S$="@"+S$+T$+",W"
  64. 530 CLOSE2:OPEN2,8,2,S$:GOSUB835:IFESTHENPRINTES$:CLOSE2:GOTO505
  65. 535 PRINT#5,"TTTTTTTTTT";
  66. 545 FORX=0TO10:NEXT:GET#5,A$:IFST=0THEN545
  67. 546 SYSML+18:IFSTTHEN570
  68. 550 FORX=0TO10:NEXT:GET#5,A$:IFST=0THEN550
  69. 555 S1=PEEK(ML-2):S2=PEEK(ML-1):SYSML+12
  70. 560 IFS1<>PEEK(ML-2)ORS2<>PEEK(ML-1)THEN575
  71. 565 SYSML+15:PRINT#5,"";:PRINT"-";:GOTO545
  72. 570 CLOSE2:PRINT#5,"SSSSSSSSSS";:PRINT:GOTO145
  73. 575 PRINT#5,"";:PRINT":";:GOTO545
  74. 580 PRINT"[212]YPE OF [198]ILE:"
  75. 585 PRINT"([208])ROGRAM, ([215])ORD[208]RO, OR ([211])EQ?":PRINT">";
  76. 590 GETB$:IFB$=""THEN590
  77. 595 TY$=B$:FL=0
  78. 600 IFB$="P"THENT$=",P":POKE557,0:PRINT"[208]ROGRAM":RETURN
  79. 605 IFB$="S"THENT$=",S":POKE557,0:PRINT"[211][197][209]":RETURN
  80. 610 IFB$="W"THENT$=",P":POKE557,1:PRINT"[215]ORD[208]RO":RETURN
  81. 615 IFB$=CHR$(13)THENFL=1:RETURN
  82. 620 GOTO590
  83. 625 PRINT#5,"UUUUUUUUUU";
  84. 630 GET#5,A$:IFST<>0THEN630
  85. 635 IFA$="P"THENT$=",P":POKE557,0:A$="[208]ROGRAM":GOTO655
  86. 640 IFA$="S"THENT$=",S":POKE557,0:A$="[211][197][209]":GOTO655
  87. 645 IFA$="W"THENT$=",P":POKE557,1:A$="[215]ORD[208]RO":GOTO655
  88. 650 GOTO630
  89. 655 PRINT"[198]ILE [212]YPE: "A$""
  90. 660 GET#5,A$:IFST=0THEN660
  91. 665 RETURN
  92. 670 REM SEND AN SEQ FILE TO BULLETIN BOARD
  93. 675 PRINT"[206]AME OF [198]ILE TO [211]END?":PRINT">";:GOSUB800:S$=B$
  94. 680 IFS$=""THENPRINT#5,"A";:GOTO145
  95. 685 GOSUB580:IFFLTHENS$="":GOTO680
  96. 690 CLOSE2:OPEN2,8,2,S$+T$:GOSUB835:IFESTHENPRINTES$:CLOSE2:GOTO675
  97. 695 FORX=1TO10:PRINT#5,TY$;:NEXTX:PRINT
  98. 700 GET#5,A$:IFST<>0ORA$<>"U"THEN700
  99. 702 GET#5,A$:IFPEEK(667)<>PEEK(668)THEN702
  100. 705 SYSML+9:CK=ST
  101. 710 FORX=1TO400:NEXT:REM DELAY LOOP
  102. 715 GET#5,A$:IFPEEK(667)<>PEEK(668)THEN715
  103. 720 FORT=0TO255:PRINT#5,CHR$(PEEK(ML-256+T));:NEXTT
  104. 725 PRINT#5,"ZZZZZZZZZZZZZZZ";
  105. 727 IFPEEK(669)<>PEEK(670)THEN727
  106. 730 GET#5,A$:IFST<>0THEN730
  107. 735 IFA$=""THENPRINT":";:GOTO710
  108. 740 IFA$<>""THEN730
  109. 745 IFCK=0THENPRINT"-";:GOTO702
  110. 750 GET#5,A$:IFPEEK(667)<>PEEK(668)THEN750
  111. 755 CLOSE2:GOTO145
  112. 760 SYSML+21:A$=CHR$(PEEK(634)):RETURN
  113. 765 REM QUIT TERMINAL
  114. 790 CLOSE5:CLOSE1:CLOSE2:CLOSE11
  115. 792 PRINTCHR$(9)
  116. 795 END
  117. 800 PRINT" [146][157]";:B$=""
  118. 805 GETA$:IFA$=""THEN805
  119. 810 IFA$=CHR$(20)THEN825
  120. 815 IFA$=CHR$(13)THENPRINT" ":RETURN
  121. 820 B$=B$+A$:PRINT" [157]"A$" [146][157]";:GOTO805
  122. 825 IFLEN(B$)=0THEN805
  123. 830 B$=LEFT$(B$,LEN(B$)-1):PRINTA$;:GOTO805
  124. 835 REM GET ERROR CHANNEL
  125. 840 INPUT#1,E1$,E2$,E3$,E4$
  126. 845 ES$=E1$+","+E2$+","+E3$+","+E4$
  127. 850 ES=VAL(E1$):RETURN
  128. 1000 POKE22784,0:RUN
  129.